package pin;

/*
Tracks
i.   Track1 bevat  %rekeningnummer^naam^expdate(YYMM)?
ii.  Track2 bevat  ;rekeningnr=pasnr(0000)?
iii. Track3 bevat  ;rekeningnr=banknr?
iv.  Banknr: bestaat uit 1 cijfer voor klas en 1 cijfer voor groep, (bijv. INF2C groep 2 = 32)
Voor het klassennr geldt A = 1, B = 2, C = 3, I = 4, J = 5 en V = 6
Rekeningnr: bestaat uit banknr + 4 zelf te kiezen cijfers
 */
public class TrackInfo {
/*
    public static void Maak(String t1, String t2, String t3) {
        //Check of de tracks kloppen met het Format
        boolean tracksChecken = true; //of de check wel of niet wordt gedaan
        boolean tracksGoed = true; //goed = true, fout = false;
        if (tracksChecken) {
//            tracksGoed = tracksCheck();
        }
        if (tracksGoed) {
            System.out.println("Tracks zijn Goed");
        } else {
            System.out.println("Tracks zijn NIET Goed !!");
        }
        //Checken of op de Tracks elke keer hetzelde Rekeningnr staat
        boolean nummerCheck = true;
        boolean nummerGoed = true;
        if (nummerCheck) {
          //  nummerGoed = rekeningnummerCheck();
        }
        if (nummerGoed) {
            System.out.println("Rekeningnummers zijn op alle Tracks Gelijk");
        } else {
            System.out.println("Rekeningnummers zijn NIET op alle Tracks Gelijk !!");
        }
        //info eruit vissen
        //Bank Nummer
        System.out.println("Banknummer: " + pin.Tracks.track3.substring(8, 10));
        banknummer = pin.Tracks.track3.substring(8, 10);
        //Rekeningnummer
        System.out.println("Rekeningnummer: " + pin.Tracks.track1.substring(1, 7));
        rekeningnummer = pin.Tracks.track3.substring(1, 7);
        //pasnummer
        System.out.println("Pasnummer: " + pin.Tracks.track2.substring(8, 12));
        pasnummer = pin.Tracks.track2.substring(8, 12);
        //ExpDatum
        String[] dingen = pin.Tracks.track1.split("[\\\\^]");
        expdatum = dingen[2]; //nu nog die ? weghalen aan het einde
        expdatum = expdatum.substring(0, 4);
        System.out.println("ExpDatum: " + expdatum);
        System.out.println("Dus geldig tot: " + expdatum.substring(2, 4) + "-20" + expdatum.substring(0, 2));
        //Naam
        naam = dingen[1];
        System.out.println("Naam: " + naam);
    //Nog een vage expdatum check...
    //Checken of die datum niet al is geweest
    }
*/
    public static boolean rekeningnummerCheck(String nr1,String nr2,String nr3) {
        /* Dit checkt:
         * Of het rekeningnummer op alle Tracks hetzelfde is.
         */
        boolean nummersOk = true;
        nr1 =nr1.substring(1, 7);
        nr2 =nr2.substring(1, 7);
        nr3 =nr3.substring(1, 7);
        if (nr1.equals(nr2) && nr2.equals(nr3)) {
            //Als 1 == 2 & 2 == 3 dan:
            // 1 == 3
            nummersOk = true;
        } else {
            nummersOk = false;
        }
        return nummersOk;
    }

    public static boolean tracksCheck(String t1, String t2, String t3) {
        /* Dit checkt:
         * of de Tracks zich aan het Format houden.
         */
        boolean tracksOk = true;
        if (!t1.matches("^[%][0-9]{6}[\\\\^][a-zA-Z_0-9]{2,}[\\\\^][0-9]{4}[?]$")) {
            //zo: % 6getallen ^ 2ofmeerLetters ^ 4getallen ?
            tracksOk = false;
            System.out.println("track1 is niet goed");
        }
        if (!t2.matches("^[;][0-9]{6}[=][0-9]{4}[?]$")) {
            //zo: ; 6getallen = 4getallen ?
            tracksOk = false;
            System.out.println("track2 is niet goed");
        }
        if (!t3.matches("^[;][0-9]{6}[=][0-9]{2}[?]$")) {
            //zo: ; 6getallen = 2getallen ?
            tracksOk = false;
            System.out.println("track3 is niet goed");
        }
        return tracksOk;
    }

    /*
    public static void main(String[] args) {
        // FF om te testen
        //MAG NIET MEER VIA pin.Tracks, alleen via session!
        //pin.Tracks.track1 = "%240005^DETester^1512?";
        //pin.Tracks.track2 = ";240005=0005?";
        //pin.Tracks.track3 = ";240005=24?";
        Maak("%240005^DETester^1512?",";240005=0005?",";240005=24?");
    }
 */
}
